Academic Open Internet Journal |
Volume 12, 2004 |
A Novel Steganography Scheme for
RGB images with high image quality and Data hiding
capacity
UMAMAHESWARI1, MANOJ KUMAR2, A.SHANMUGAM3
1Research Scholar, 2Graduate Student,
3Professor
Department of Electronics & Communication Engineering
3Professor & Head
Department of Electronics and communication Engineering
PSG College of Technology, Coimbatore, INDIA
Email: gumabhaskar@yahoo.co.in
ABSTRACT:This paper presents a novel steganography
scheme capable of concealing a piece of critical information in a host image
that is a RGB image. The critical
information is enciphered with the help of separate public key. This enciphered critical information is then
embedded into the image blocks. A
binary key matrix and a weight matrix are used as secret keys to protect the
hidden information. Given a host image
of size m x n, the proposed scheme can hide as many as
bits of data in the image by changing,
at most two bits in each block of size m x n. This scheme provides a higher security, embedding
capacity and maintains higher image quality of the host image than the available
conventional schemes. The choice of weight matrix prevents the brute force
attack. The software implementation of this paper has been done using MATLAB
[3]. The enciphered data bits are extracted and then deciphered with the help
of same public key used for encryption. Simulation
results show that Image Quality Measures (IMQ) such as Peak Signal to Noise
Ratio (PSNR) and Correlation of this proposed scheme are better than the conventional
LSB replacing technique.
Index terms:
-Steganography, data
hiding, security, cryptography.
1. INTRODUCTION
1.1 STEGANOGRAPHY
Steganography [3] is the process
of concealing secret information so that its presence cannot be detected from
the outside environment. When the information is embedded in the cover object,
then the object is called stego-object. Classical steganographic techniques [4] use the computer code, video
film or an audio recording as the cover-objects to embed a secret message,
which can be a copyright mark, a serial number, etc. Thus a mark can be embedded in a cover text
giving a stego-text, a text can be embedded in a cover image giving a stego-image.
A secret public key accomplishes this embedding scheme and it is difficult
for a third one to identify or remove the embedded information without this
key.
Another form of Steganography, called Watermarking
[1], is being used increasingly by the businesses. Watermarking is used for identification and
entails embedding a unique piece of information within a medium without altering
the medium noticeable. The only difference
between watermarking and steganography is that in watermarking the cover is
the object of communication while in steganography the hidden message is the
object of communication.
1.2
STATE OF ART
The purpose of the Steganography is in general to hide data well enough
that unintended recipients do not suspect about steganographic medium of containing
hidden data. Cryptography [2] encrypts a message so that it cannot be understood
while Steganography hides the message in order to make it not seen.
Cryptography encodes data so that an unintended recipient cannot understand
its intended meaning but Steganography does not alter data to make it unusable
to an unintended recipient. Most Steganographic methods also encrypt the
message so even if the presence of the message is detected, deciphering (decrypting)
the message will still be required. Steganography is complementary to Cryptography because it adds an
extra layer of security.
1.4
CONVENTIONAL SCHEME:
Data hiding is generally achieved by changing some unnecessary
information in the host image. For
example, given a color image, the lease-significant bit (LSB) of each pixel
can be changed to embed the hidden secret. Hiding data in a binary image is
a more challenging task, since changing any pixel can be easily detected.
To ameliorate the image hiding quality, and hiding capacity, our proposed
scheme is capable of hiding a large amount of data by changing a small number
of bits in the original binary image. Specifically,
given an m x n image block, the proposed scheme can conceal as many as [log
2 (mn+1)] bits of data in the block by changing at most, two bits
in the block. This approach is much more effective than the
available conventional schemes, which can hide atmost, one bit by changing
atmost, one bit in the block.
1.5
ADVANTAGES OF PROPOSED SCHEME:
Ø
Maximum number of pixels that can be modified
in the binary image is fixed. If we consider image block of size 2mn,
we can hide
bits by changing atmost, two bits
in the block, whereas other conventional scheme can partition the image into
two blocks, each of size mn. Then
atmost, two bits in the image can be modified o conceal two bits of data.
Our scheme offers a data-hiding ratio this
times that of available schemes
[7].
Ø
Because of alteration of fewer pixels in the image, the image quality
after modification can be significantly improved and the data is less detectable.
2. PROPOSED DATA HIDING SCHEME
FOR RGB IMAGES
The proposed scheme uses a binary matrix and an integer weight matrix
as secret keys. The operator XOR is
adopted so that the keys cannot be compromised easily.
Another important function of the weight matrix is to increase the
data-hiding capacity. The inputs to
our scheme are as follows.
1.
F is a cover image (i.e. RGB),
which is to be altered to embed the data. Here, F is partitioned into the blocks of size
m x n. For simplicity, we assume that
the size of F is a multiple of m x n.
2.
K is a secret key shared by the
sender and the receiver. It is a randomly selected matrix of size m x n.
3.
W is a secret-weight matrix shared
by the sender and the receiver. It is an integer matrix of size m x n whose
content satisfies some requirements.
4.
r is the number of bits to be embedded
in each m x n block of F. The value of r should satisfy the following
relation.
5. B is critical information consisting of
kr bits to be embedded in F, where k is the number of m x n blocks in F.
2.1. WEIGHT MANAGEMENT
Illustrative example:
The purpose of this example is to show how
to manage weights. The next section
gives the complete scheme.
Let us assume the following inputs.
F : An image block ; K : Key matrix:W : Weight
matrix
Step
1: Perform the bitwise XOR operation.
F
= [ 1 1 0 1 0 0 1 1 0] K = [ 0 1 1 1 1 0 0 1 1 ] W = [ 1 2 3 1 2 3 1 2 3 ]
Step 2: Perform the component-wise multiplication
operation of (Fi Å K) with the weight matrix.
Step 3: Sum up all
the elements in the rightmost matrix.
Step 4: Assume the two data bits b1b2 (say 2) to be embedded into the block
Fi. For that, it should
satisfy the following condition.
SUM ((Fi Å K) Ä W) º b1b2 (mod 4)
If the condition in Step 4 is not satisfied, some of the bits in Fi
should be modified such that the condition holds good.
Steps
to swap the bits in Fi:
Ø
Since the above condition is satisfied in
our example, Fi does not need to be changed.
Ø
Notice that if we complement bit [Fi]j,k
then [Fi Å K]j,k will also be complemented.
Ø
If [Fi Å K]j,k is changed from 0 to 1,
then the modular sum will be increased by wj,k.
Ø
If [Fi Å K]j,k is changed from 1 to 0,
then the modular sum will be decreased by wj,k.
For example, if we change [Fi]1,1 the sum will be decreased by w1,1
= 1, and if we change [Fi]1,2 the sum will be
increased by w1,2 = 2. For better understanding, the swapping process
is discussed in 2.3.
2.2.
HIDING STEPS:
Definition 1: An
m x n matrix W can serve as a weight matrix if each element of {1,2,3,…..,2r
– 1} appears atleast once in W. {[W]i,j , i=1,j=1,2,3….n} = {1,2,3,…,2r
– 1}.
Ø
We can first pick 2r – 1 elements
in matrix W, and randomly assign {1,2,3,…,2r – 1} to them.
Ø
The remaining mn – (2r – 1) elements
in W can then be assigned with arbitrary values.
2.3. EMBEDDING SCHEME:
The embedding scheme is derived in four steps.
1.
Compute Fi Å K.
2.
Compute SUM ((Fi Å K) Ä W).
3.
From the matrix Fi Å K, compute for each w = 1,…,2r
– 1 the following set.
Sw
= {(j,k) | ([W]j,k = w
AND [Fi Å K]j,k = 0) OR ([([W]j,k =
2r - w AND [Fi Å K]j,k = 1)
4.
Sw represents the set
containing each matrix index (j,k). such that complementing [Fi]j,k
would increase the sum in step 2 by w. Two possibilities to achieve this are
v
if [W]j,k = w and [Fi Å K]j,k = 0, then complementing
[Fi]j,k will increase the weight by w.
v
if [W]j,k = 2r - w and [Fi Å K]j,k = 1, then complementing
[Fi]j,k will decrease the weight by 2r - w or equivalently increase the sum by w (under
mod 2r).
5.
Weight Difference (d) = (b1b2….br)
- SUM ((Fi Å K) Ä W).
3.
ILLUSTRATION
Let F1 and F2 be two image blocks of size 1 x 16
Let r be 3.
F1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
F2 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
Let K be the key matrix
K |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
W |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
1 |
2 |
Ri = Fi Å K
R1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
R2 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
Wti = Ri Ä W
Wt1 |
1 |
0 |
0 |
4 |
5 |
6 |
0 |
0 |
0 |
3 |
4 |
0 |
0 |
0 |
1 |
0 |
Wt2 |
0 |
2 |
0 |
0 |
5 |
6 |
7 |
0 |
2 |
0 |
0 |
5 |
0 |
7 |
0 |
2 |
SUM (Wti)
(mod 2r) |
Datai |
Wt to be incremented |
Wt to be decremented |
24º0 (mod 8) |
010 |
2 |
6 |
36º1 (mod 8) |
001 |
5 |
3 |
Ri¢ = Fi¢ Å K
R1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
R2 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
The modified image blocks are:
F1¢ |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
F2¢ |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
4.
EXPERIMENTAL RESULTS:
|
|
|
|
The hidden message information will be encrypted in
the following way with the help of simple XOR Operation
Fig.1
4.1
PROPOSED SCHEME:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fig.2 The Stego Images: Message information is hidden in Least Significant
a) 1st bit b) 2nd bit c) 3rd bit d) 4th bit e) 5th bit f) 6th bit g) 7th bit h) 8th bit.
4.2
LSB REPLACING TECHNIQUE:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fig.3 The Stego Images: Message information is hidden in Least Significant
a) 1st bit b) 2nd bit c) 3rd bit d) 4th bit e) 5th bit f) 6th bit g) 7th bit h) 8th bit.
Table 1 4.3
COMPARATIVE SIMULATION RESULTS |
||||||
Bit
Position |
LSB
Replacing Technique |
Proposed
Scheme |
||||
MSE |
PSNR |
CORR |
MSE |
PSNR |
CORR |
|
1 |
0.4352 |
51.7440 |
1.0000 |
0.0181 |
65.5530 |
1.0000 |
2 |
0.5292 |
50.8950 |
1.0000 |
0.0720 |
59.5582 |
1.0000 |
3 |
0.9418 |
48.3911 |
0.9999 |
0.2834 |
53.6074 |
1.0000 |
4 |
2.6017 |
43.9783 |
0.9998 |
1.1603 |
47.4853 |
0.9999 |
5 |
8.8293 |
38.6715 |
0.9993 |
4.7449 |
41.3686 |
0.9996 |
6 |
33.1416 |
32.9271 |
0.9973 |
18.0266 |
35.5717 |
0.9985 |
7 |
153.1639 |
26.2792 |
0.9875 |
72.5866 |
29.5222 |
0.9940 |
8 |
677.2790 |
19.8231 |
0.9457 |
286.5039 |
23.5595 |
0.9765 |
(a)
(b)
(c)
Fig 4
IMQ measures
The Simulations
are performed by embedding the Message Information (Fig.1b) after encryption
(Fig.1c) inside the Cover Image (Fig.1a) [3]. The Stego images of both the
proposed scheme and conventional LSB replacing scheme are shown in Fig.2 (a-h)
and Fig.3 (a-h) for comparison. The effect of distortions are evaluated with
IQM and tabulated in Table 1. The
graphs based on these IMQ measures also shown in Fig.4 [3,4]. The results
of the proposed scheme are compared with the results of simple LSB replacing
technique.
When the process is done on 8th
bit of pixel element, the Cover Image gets distorted in the LSB replacing
technique (Fig.3h). But in the proposed scheme, such distortion becomes inconspicuous
(Fig.2h). In this case, the IMQ measures
such as Mean Square Error, Peak Signal to Noise Ratio and Correlation are
also worst in LSB replacing technique because the number of bits modified
in the Cover Image is equal to the number of bits in the encrypted Message
Information. But in the proposed scheme,
since atmost only two bits are modified in each block, the image quality is
not degraded.
CONCLUSION:
The new scheme presented
here is capable of hiding large amount of information in the given RGB Image.
This scheme has following features: a secret key matrix and weight
matrix are used to hide the data in secure manner; the data-hiding ratio is
improved by weight matrix. An extra layer of security is accomplished by hiding
the information in the encrypted form. Our
future work is concerned with improving the security of the scheme by using
advanced cryptography techniques and also improving the efficiency by using
data compression techniques.
REFERENCES:
[1]
Bruce Schneier, “Applied
Cryptography”, Second Edition.
[2]
William Stallings, “Cryptography
and Network Security”,
[3]
MATLAB 6.2 Software, Mathworks
Inc, 2000.
[4]
Microsoft Office, Excel
Software, 2000.
[5] Ingemar
J. Cox, Joe Kilian, Tom Leighton and Talal Shamoon, “Secure Spread
Spectrum Watermarking for Multimedia," IEEE Trans. on Image Processing,
Vol. 6,No. 12, 1997.
[6] W.
Bender, D. Gruhl, N. Morimoto, and A. Lu, “Techniques for data hiding.”
I.B.M. Systems Journal , vol. 35, no. 3 &
4, pp. 313-336, 1996.
[7] M. D. Swanson, B. Zu,
and A. H. Tewfik, “Robust data hiding for images.” In
7th Digital Signal
Processing Workshop (DSP 96), pp. 37-40, IEEE, Loen,
Norway, Sep.1996.
AUTHORS
1.G.UMAMAHESWARI
Lecturer & Research Scholar,
Department of Electronics and Communication
Engineering
PSG College of Technology
Peelamedu
Coimbatore – 641 004
Tamil Nadu
India.Phone : residence : +91-422-2495979
Email : gumabhaskar@yahoo.co.in
Technical College - Bourgas,